package com.cmc.cloud.cmclink.doc.vo.blnolocalchargevo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.Date;

import static com.cmes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/**
 * Local Charge费用Response VO
 *
 * @author codegen
 */
@Schema(description = "管理后台 - local charge 所有提单 Response VO")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BlnoLocalChargeRespVO {

    @Schema(description = "主键id")
    private Long id;

    @Schema(description = "订舱号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String bookingNo;

    @Schema(description = "提单号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String blNo;


    @Schema(description = "订舱船名", requiredMode = Schema.RequiredMode.REQUIRED)
    private String bkgVesselCode;

    @Schema(description = "订舱航次", requiredMode = Schema.RequiredMode.REQUIRED)
    private String bkgVoyage;


    @Schema(description = "订舱人代码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String bkpCode;

    @Schema(description = "订舱人名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String bkpName;

    @Schema(description = "一代代码")
    private String topAgentCode;

    @Schema(description = "协议号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String agreementNo;

    @Schema(description = "舱位代码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String spaceOwner;

    @Schema(description = "实际签单类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private String signType;

    @Schema(description = "目的港提单标记")
    private Boolean podBlFlag;

    @Schema(description = "申请签单的时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime signOrderTime;

    @Schema(description = "出口提货点")
    private String stuffLocEx;

    @Schema(description = "进口提货点")
    private String stuffLocIm;

    @Schema(description = "货物类型")
    private String cargoType;

    @Schema(description = "操作时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date createTime;

    @Schema(description = "操作人")
    private String creator;

    @Schema(description = "箱状态")
    private String cntrStatus;

    @Schema(description = "总计算的数量")
    private Integer toAccountAll;

    @Schema(description = "发送财务的数量")
    private Integer toAccount;

    @Schema(description = "do锁")
    private String doStatus;
}
